//package com.jia.lidao.others.ui.fragment;
//
//import android.app.AlertDialog;
//import android.content.DialogInterface;
//import android.content.Intent;
//import android.os.Bundle;
//import android.support.annotation.Nullable;
//import android.util.Log;
//import android.view.LayoutInflater;
//import android.view.View;
//import android.view.ViewGroup;
//import android.widget.CheckBox;
//import android.widget.CompoundButton;
//import android.widget.ImageView;
//import android.widget.ProgressBar;
//import android.widget.RelativeLayout;
//import android.widget.TextView;
//
//import com.google.gson.reflect.TypeToken;
//import com.jia.lidao.R;
//import com.jia.lidao.RunningContext;
//import com.jia.lidao.others.API;
//import com.jia.lidao.others.BaseFragment;
//import com.jia.lidao.others.adapter.ShoppingCartAdapter;
//import com.jia.lidao.others.enity.CountCash;
//import com.jia.lidao.others.enity.ObjectCallBack;
//import com.jia.lidao.others.enity.ShoppingCartBeen;
//import com.jia.lidao.others.ui.EditOrderFormActivity;
//import com.jia.lidao.utils.ListUtil;
//import com.jia.lidao.utils.LogUtil;
//import com.zhy.http.okhttp.OkHttpUtils;
//
//import org.greenrobot.eventbus.EventBus;
//import org.greenrobot.eventbus.Subscribe;
//import org.greenrobot.eventbus.ThreadMode;
//
//import java.io.Serializable;
//import java.util.ArrayList;
//import java.util.HashMap;
//import java.util.List;
//
//import butterknife.BindView;
//import butterknife.ButterKnife;
//import butterknife.OnClick;
//import me.leefeng.lfrecyclerview.LFRecyclerView;
//import okhttp3.Call;
//
//public class ShoppingCartFragment2 extends BaseFragment {
//    @BindView(R.id.ib_back)
//    ImageView ibBack;
//    @BindView(R.id.tv_title)
//    TextView tvTitle;
//    @BindView(R.id.tv_right)
//    TextView tvRight;
//    @BindView(R.id.recyclerView)
//    LFRecyclerView recyclerView;
//    @BindView(R.id.loading)
//    ProgressBar loading;
//    @BindView(R.id.check_all)
//    CheckBox checkAll;
//    @BindView(R.id.tv_money)
//    TextView tvMoney;
//    @BindView(R.id.tv_accounts)
//    TextView tvAccounts;
//    @BindView(R.id.rl_accounts)
//    RelativeLayout rlAccounts;
//
//    @BindView(R.id.no_goodstxt)
//    TextView tvNogoods;
//
//    private ShoppingCartAdapter adapter;
//    private List<ShoppingCartBeen.MerchantsBean> data;
//    private Boolean editStatus = false;
//    private int totalPrice = 0;
//    private int totalCount = 0;
//    public static final int REFLUSH_SELECT_COUNT = 0x10026;
//    public static final int REFLUSH_COUNT = 0x10027;
//
//    @Override
//    public void onCreate(@Nullable Bundle savedInstanceState) {
//        super.onCreate(savedInstanceState);
//        EventBus.getDefault().register(this);
//    }
//
//
//    @Subscribe(threadMode = ThreadMode.MAIN)
//    public void onMessageEvent(Object resp) {/* Do something */
//
//        if (resp instanceof Integer) {
//
//            int params = (Integer) resp;
//            switch (params) {
//                case REFLUSH_SELECT_COUNT:
//                    reflushTotalCount();
//                    break;
//                case REFLUSH_COUNT:
//                    queryData();
//                    break;
//            }
//
//        }
//
//    }
//
//    @Override
//    protected int getInflateLayout() {
//        return R.layout.shopping_cart_fragment;
//    }
//
//    @Override
//    protected void setUpView(View view) {
//        ibBack.setImageResource(R.mipmap.share_back);
//        ibBack.setVisibility(View.VISIBLE);
//        tvTitle.setText("订货车");
//        tvRight.setText("编辑");
//        tvRight.setTextColor(0xff999999);
//        tvRight.setVisibility(View.VISIBLE);
//        tvRight.setOnClickListener(new View.OnClickListener() {
//            @Override
//            public void onClick(View v) {
//                editStatus = !editStatus;
//                if (editStatus) {
//                    tvRight.setText("完成");
//                    reflushTotalCount();
//                } else {
//                    tvRight.setText("编辑");
//                }
//
//                if (!data.isEmpty()) {
//                    for (ShoppingCartBeen.MerchantsBean merchantsBean : data) {
//                        merchantsBean.isEditabe = editStatus;
//                        List<ShoppingCartBeen.MerchantsBean.ShoppingCartsBean> goods = merchantsBean.getShopping_carts();
//                        if (null != goods && !goods.isEmpty()) {
//                            for (ShoppingCartBeen.MerchantsBean.ShoppingCartsBean shoppingCartsBean : goods) {
//                                shoppingCartsBean.isEditabe = editStatus;
//                            }
//                        }
//                    }
//                    adapter.reflashData(data);
//                }
//
//
//            }
//        });
//
//
//        checkAll.setOnCheckedChangeListener(new CompoundButton.OnCheckedChangeListener() {
//            @Override
//            public void onCheckedChanged(CompoundButton buttonView, boolean isChecked) {
//                if (!data.isEmpty()) {
//                    for (ShoppingCartBeen.MerchantsBean merchantsBean : data) {
//                        merchantsBean.isSelect = isChecked;
//                        List<ShoppingCartBeen.MerchantsBean.ShoppingCartsBean> goods = merchantsBean.getShopping_carts();
//                        if (null != goods && !goods.isEmpty()) {
//                            for (ShoppingCartBeen.MerchantsBean.ShoppingCartsBean shoppingCartsBean : goods) {
//                                shoppingCartsBean.isSelect = isChecked;
//                            }
//                        }
//                    }
//                    adapter.reflashData(data);
//                }
//
//
//            }
//        });
//
//        adapter = new ShoppingCartAdapter(getContext());
//        data = new ArrayList<>();
//
//        adapter.setData(data);
//        adapter.setOnDeleteListener(new ShoppingCartAdapter.OnDeleteListener() {
//            @Override
//            public void listener(ShoppingCartBeen.MerchantsBean itemData, int position) {
//                Log.e("HQQ", "  aaa  position");
//                showDialog();
//            }
//        });
//
//        adapter.setOnDeleteGoodListener(new ShoppingCartAdapter.OnDeleteGoodListener() {
//            @Override
//            public void deleteGood(ShoppingCartBeen.MerchantsBean.ShoppingCartsBean shoppingCartsBean, int position) {
//
//
//            }
//        });
//
//
//        recyclerView.setAdapter(adapter);
//        recyclerView.setLoadMore(false);
//        recyclerView.setLFRecyclerViewListener(new LFRecyclerView.LFRecyclerViewListener() {
//            @Override
//            public void onRefresh() {
//                queryData();
//
//            }
//
//            @Override
//            public void onLoadMore() {
//
//            }
//        });
//
//        adapter.setOnShopSelectAllorNot(new ShoppingCartAdapter.OnShopSelectAllorNot() {
//            @Override
//            public void listener() {
//                reflushTotalCount();
//            }
//        });
//        queryData();
//    }
//
//    @Override
//    public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {
//        // TODO: inflate a fragment view
//        View rootView = super.onCreateView(inflater, container, savedInstanceState);
//        ButterKnife.bind(this, rootView);
//        return rootView;
//    }
//
//    @OnClick(R.id.ib_back)
//    public void onClick() {
//        getActivity().finish();
//    }
//
//
//    @OnClick(R.id.tv_accounts)
//    public void onClickAccounts() {
//
//        for (int i = 0; i < adapter.getListData().size(); i++) {
//            for (int j = 0; j < adapter.getListData().get(i).getShopping_carts().size(); j++) {
//                if (adapter.getListData().get(i).getShopping_carts().get(j).getQuantity() < adapter.getListData().get(i).buy_limit) {
//                    showToast(adapter.getListData().get(i).getName() + "起订数量为" + adapter.getListData().get(i).buy_limit);
//                    return;
//                }
//            }
//        }
//
//        Intent intent = new Intent(getContext(), EditOrderFormActivity.class);
//        intent.putExtra("goods", (Serializable) adapter.getListData());
//        intent.putExtra("price", totalPrice);
//        startActivity(intent);
//    }
//
//    private void queryData() {
//        loading.setVisibility(View.VISIBLE);
//        tvNogoods.setVisibility(View.GONE);
//        String url = API.SHOPPING_CARTS + RunningContext.sAuthInfo.access_token + "&area_id=21";
//        HashMap<String, String> headers = new HashMap<>();
//        headers.put("Accept", "*/*");
//
//        TypeToken<ShoppingCartBeen> typeToken = new TypeToken<ShoppingCartBeen>() {
//        };
//        OkHttpUtils.get().url(url).headers(headers).build().execute(new ObjectCallBack<ShoppingCartBeen>(typeToken) {
//            @Override
//            public void onError(Call call, Exception e, int id) {
//
//                if (null != loading) {
//                    loading.setVisibility(View.GONE);
//                }
//                if (null != recyclerView) {
//                    recyclerView.stopRefresh(false);
//                }
//            }
//
//            @Override
//            public void onResponse(ShoppingCartBeen response, int id) {
//                data.clear();
//                if (null != response) {
//                    if (response.getErr_code() == 0) {
//                        List<ShoppingCartBeen.MerchantsBean> merchantsBeans = response.getMerchants();
//                        if (null != merchantsBeans && !merchantsBeans.isEmpty()) {
//                            data.addAll(merchantsBeans);
//                        }
//                    } else {
//                        showToast(response.getErr_msg());
//                    }
//                }
//                adapter.reflashData(data);
//                if (!ListUtil.isEmpty(data)) {
//                    rlAccounts.setVisibility(View.VISIBLE);
//                    tvNogoods.setVisibility(View.GONE);
//                    tvRight.setVisibility(View.VISIBLE);
//                } else {
//                    rlAccounts.setVisibility(View.GONE);
//                    tvNogoods.setVisibility(View.VISIBLE);
//                    tvRight.setVisibility(View.GONE);
//                }
//                reflushTotalCount();
//                if (null != recyclerView) {
//                    recyclerView.stopRefresh(true);
//                }
//                if (null != loading) {
//                    loading.setVisibility(View.GONE);
//                }
//            }
//        });
//    }
//
//    private void showDialog() {
//        AlertDialog dialog = new AlertDialog.Builder(getContext()).setTitle("提示")
//                .setMessage("您确定要删除这个商品吗？")
//                .setNeutralButton("取消", new DialogInterface.OnClickListener() {
//                    @Override
//                    public void onClick(DialogInterface dialog, int which) {
//
//                    }
//                }).setPositiveButton("确定", new DialogInterface.OnClickListener() {
//                    @Override
//                    public void onClick(DialogInterface dialog, int which) {
//
//                    }
//                }).create();
//
//        dialog.show();
//    }
//
//
//    private void reflushTotalCount() {
//
//        new Thread(new Runnable() {
//            @Override
//            public void run() {
//                totalPrice = 0;
//                totalCount = 0;
//                List<ShoppingCartBeen.MerchantsBean> merchantsBeans = adapter.getListData();
//                for (ShoppingCartBeen.MerchantsBean merchantsBean : merchantsBeans) {
//                    List<ShoppingCartBeen.MerchantsBean.ShoppingCartsBean> shoppingCartsBeen = merchantsBean.getShopping_carts();
//                    for (ShoppingCartBeen.MerchantsBean.ShoppingCartsBean shoppingCartsBean : shoppingCartsBeen) {
//                        if (shoppingCartsBean.isSelect) {
//                            int count = shoppingCartsBean.getQuantity();
//                            double price = shoppingCartsBean.getGoods().getPrice();
//                            totalPrice += count * price;
//                            totalCount += count;
//                        }
//                    }
//                }
//                if (getActivity() != null) {
//                    getActivity().runOnUiThread(new Runnable() {
//                        @Override
//                        public void run() {
//                            tvMoney.setText("合计：¥ " + totalPrice);
//                            tvAccounts.setText("去结算(" + totalCount + ")");
//                        }
//                    });
//                }
//            }
//        }).start();
//    }
//
//
//}